home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - ProDOS
/
PRO102.dsk
/
READER
/
DOC.READER.PLUS.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
6KB
|
133 lines
100 REM AWP/TEXT FILE VIEWER, MULTIPLE DIRECTORIES, VER 1.0, 01/09/90
110 REM TONY PIZZA, 1553 ROYCE CT,CAMARILLO CA 93010
120 REM COMPUSERVE 72257,160; GENIE A.PIZZA
140 ONERR GOTO 4010
150 PRINT CHR$(4)"-DOGPAW"
160 REM DOGPAW VER 3.30 BY KARL BUNKER, 321 S. HUNTINGTON AVE, BOSTON MA 02130
170 REM CHECK FOR 80 COLUMN
180 TEXT : HOME :VS = ( INT( PEEK( -15604)/16) = 8) *3
185 POKE 251,VS: REM SAVE SLOT
190 PRINT CHR$(4)"PR#"VS
230 PRINT " ";: INVERSE : PRINT "AWP/TEXT READER, DIRECTORIES, VER. 1.0": NORMAL : PRINT : HTAB 26: PRINT "BY TONY PIZZA"
235 HTAB 26: PRINT " 1/9/90": PRINT
240 PRINT " THIS PROGRAM IS INTENDED TO SHOW THE CONTENTS OF UP TO 60"
250 PRINT " APPLEWORKS AND TEXT FILES USING THE DOGPAW UTILITY FROM KARL BUNKER"
270 PRINT : PRINT
280 PRINT " TO USE THIS PROGRAM:"
290 PRINT
310 PRINT " 1 - SELECT THE SLOT AND DRIVE CONTAINING THE DISK WITH FILES TO VIEW."
320 PRINT
330 PRINT " 2 - THEN SELECT THE PATHNAME OF THE DESIRED DIRECTORY. THIS"
340 PRINT " WILL NOT BE REQUIRED IF THERE ARE NO SUBDIRECTORIES."
350 PRINT : PRINT " ESCAPE TO QUIT, ANY KEY TO CONTINUE ": PRINT
355 HTAB 9: GET A$: PRINT A$
360 IF A$ = CHR$(27) THEN GOTO 4100
1000 REM SET UP SELECTOR
1014 PRINT CHR$(4)"FRE": CLEAR : REM CLEAR FOR NEXT DIRECTORY
1015 DIM DS$(20): DIM PF$(20): DIM F$(60): DIM TP$(60): DIM P$(22)
1020 HOME :D$ = CHR$(4)
1030 VTAB 2: HTAB 8: PRINT "DRIVE SELECTION": REM MLI ONLINE CALL WOULD BE NICE SOMEDAY
1040 DS$(1) = "DRIVE 3, SLOT 1":DS$(2) = "DRIVE 3, SLOT 2"
1050 DS$(3) = "DRIVE 4, SLOT 1":DS$(4) = "DRIVE 4, SLOT 2"
1060 DS$(5) = "DRIVE 5, SLOT 1":DS$(6) = "DRIVE 5, SLOT 2"
1070 DS$(7) = "DRIVE 6, SLOT 1":DS$(8) = "DRIVE 6, SLOT 2"
1080 DS$(9) = "DRIVE 7, SLOT 1":DS$(10) = "DRIVE 7, SLOT 2"
1090 NC = 10: REM # OF CHOICES
1100 FOR N = 1 TO NC:P$(N) = DS$(N): NEXT : REM SELECTOR USES P$(N)
1105 GOSUB 5000:SEL = N: REM SELECTOR RETURNS VALUE N
1110 SL = 2 + INT(SEL/2 +.51)
1120 DR = 1: IF SEL/2 - INT(SEL/2) = 0 THEN DR = 2
1130 ONERR GOTO 4000: REM EMPTY SLOT/DRIVE SELECTED
1140 PRINT D$"PREFIX,S"SL",D"DR: REM SET PREFIX
1150 PRINT D$"PREFIX": INPUT PF$: REM GET PREFIX NAME (WITHOUT EXTRA SPACES)
1160 HOME :PF$(1) = PF$
1170 VTAB 2: HTAB 4: PRINT "DIRECTORY: "PF$(1)
2000 REM GET A DIRECTORY
2010 D = 1
2020 PRINT D$"OPEN ";PF$",TDIR"
2030 PRINT D$"READ "PF$
2040 INPUT DR$
2050 INPUT I$
2060 ONERR GOTO 2110: REM END READ
2070 INPUT I$
2080 TP$ = MID$ (I$,18,3)
2090 IF TP$ = "DIR" THEN D = D +1:DR$ = MID$ (I$,2,16):PF$(D) = PF$(1) +DR$: HTAB 12: REM DR$ IS PADDED WITH EXTRA SPACES
2100 GOTO 2070
2110 CALL 62248: POKE 216,0: PRINT D$"CLOSE"
2120 IF D = 1 THEN PF$ = PF$(1): GOTO 3010: REM NO SUBDIRECTORIES
2125 FOR N = 1 TO D:P$(N) = PF$(N): NEXT : REM SEL USES P$(N)
2130 NC = D: GOSUB 5000:SEL = N
2140 PF$ = PF$(SEL)
2141 IF SEL = 1 THEN PF$ = PF$(SEL): PRINT D$"PREFIX"PF$: GOTO 3010: REM CHECK VOLUME DIRECTORY
2142 PRINT D$"PREFIX"PF$
2145 GOTO 1150: REM CHECK SUBDIR FOR MORE SUBDIR, LET PRODOS STRIP EXTRA SPACES
3000 REM GET FILES:REM FINALLY GET AWP/TXT FILES
3010 I = 1
3015 GOSUB 4040
3020 PRINT D$"OPEN ";PF$",TDIR"
3030 PRINT D$"READ "PF$
3040 INPUT DR$
3050 INPUT I$
3060 ONERR GOTO 3110
3065 INPUT I$
3070 INPUT I$
3080 TP$(I) = MID$ (I$,18,3)
3097 IF TP$(I) = "AWP" OR TP$(I) = "TXT" THEN F$(I) = MID$ (I$,2,16):I = I +1
3100 GOTO 3070
3110 CALL 62248: POKE 216,0: PRINT D$"CLOSE"
3120 NE = I -1: REM # OF AWP/TXT FILES
3130 HOME : REM PUT FILES IN COLUMNS
3135 IF NE = >60 THEN PRINT "Sorry, can only show the first 60 ";
3140 PRINT "Files in ";PF$: PRINT
3150 FOR I = 1 TO 20: PRINT I;: POKE 36,3: PRINT F$(I);: POKE 36,20: PRINT TP$(I): NEXT
3152 IF NE >20 THEN VTAB 3: FOR I = 21 TO 40: POKE 36,25: PRINT I;: POKE 36,28: PRINT F$(I);: POKE 36,45: PRINT TP$(I): NEXT
3154 IF NE >40 THEN VTAB 3: FOR I = 41 TO 60: POKE 36,50: PRINT I;: POKE 36,53: PRINT F$(I);: POKE 36,75: PRINT TP$(I): NEXT
3160 PRINT : INPUT "SELECT FILE TO VIEW BY NUMBER, OR RETURN FOR NO SELECTION > ";SF$
3164 SF = VAL(SF$)
3165 IF SF >NE THEN PRINT CHR$(7): VTAB 24: GOTO 3130
3167 IF F$(SF) = "" THEN GOTO 3200
3168 IF SF <1 OR SF >NE THEN PRINT CHR$(7): VTAB 24: GOTO 3130
3170 GOSUB 4200: PRINT D$;"DOGPAW";F$(SF)
3172 VS = PEEK(251): PRINT CHR$(4)"PR#"VS: REM SOMETIMES DOGPAW ENDS IN 40 COL
3175 GOTO 3130: REM ALLOW FOR FILE CHOICE AGAIN
3200 HOME
3210 Q$(1) = "SELECT ANOTHER FILE"
3220 Q$(2) = "SELECT ANOTHER PATH"
3230 Q$(3) = "QUIT TO BASIC"
3235 NC = 3
3240 FOR N = 1 TO NC:P$(N) = Q$(N): NEXT
3245 GOSUB 5000:SEL = N
3250 ON SEL GOTO 3130,1014,4100
4000 POKE 216,0: VTAB 18: PRINT "NO DISK THERE, TRY AGAIN": PRINT CHR$(7): FOR I = 1 TO 250: NEXT : GOTO 1020
4010 POKE 216,0: VTAB 18: PRINT "THIS PROGRAM ALSO NEEDS DOGPAW ON DISK TO WORK": END
4040 PRINT : PRINT : PRINT : VTAB 21: PRINT "WORKING - DON'T RESET"
4050 PRINT "TAKES TIME WHEN YOU HAVE MANY FILES": PRINT : RETURN
4100 PRINT : PRINT CHR$(4)"NODOGPAW"
4110 REM
4120 REM
4130 REM
4135 PRINT CHR$(4)"PREFIX/"
4140 PRINT CHR$(4)"PREFIX": INPUT PF$
4145 PRINT CHR$(4)"PR#"VS: PRINT
4150 HOME : VTAB 10: PRINT "CURRENT PATH LOGGED IS "PF$
4160 END
4200 HOME : PRINT : PRINT "Print Out ? (printer in Slot 1 only)": PRINT "Y for Printout, Any key for screen >";
4210 GET A$: PRINT A$
4220 IF A$ = "Y" OR A$ = "y" THEN PRINT D$"pr#1"
4230 RETURN
5000 REM
5010 P = 1:N = 1
5050 PRINT CHR$(24): INVERSE : VTAB 24: PRINT "ARROWS, RETURN TO RUN, ESC TO QUIT.";: NORMAL
5060 FOR N = 1 TO NC: GOSUB 5160: NEXT
5070 IF P <1 THEN P = NC
5080 IF P >NC THEN P = 1
5090 N = P: INVERSE : GOSUB 5160: NORMAL : CALL 64538: GOSUB 5230: PRINT
5100 IF A$ = CHR$(8) OR A$ = CHR$(11) THEN P = P -1
5110 IF A$ = CHR$(10) OR A$ = CHR$(21) THEN P = P +1
5120 IF A$ = CHR$(13) THEN GOTO 5150
5130 IF A$ = CHR$(27) THEN CALL 62248: GOTO 3200
5140 GOSUB 5160: GOTO 5070
5150 RETURN : REM RETURNS WITH N
5160 VTAB 3 +N: HTAB 8: PRINT P$(N): RETURN
5230 KP = PEEK(49152): IF KP <128 THEN 5230
5240 KP = KP -128:A$ = CHR$(KP): POKE 49168,O: RETURN